<!DOCTYPE html>
<html lang="en-US">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>Frequently Asked Questions | Vue.js</title>
    <meta name="description" content="Vue.js - The Progressive JavaScript Framework">
    <link rel="stylesheet" href="static/css/style.d14beee3.css">
    <link rel="modulepreload" href="https://vuejs.org/assets/app.a30aa7c3.js">
    <link rel="modulepreload" href="https://vuejs.org/assets/about_faq.md.72885423.lean.js">
    <link rel="prefetch" href="https://vuejs.org/assets/chunks/VPAlgoliaSearchBox.c56f801b.js">
    <link rel="icon" href="https://vuejs.org/logo.svg">
  <link rel="preload" href="https://vuejs.org/assets/inter-latin.7b37fe23.woff2" as="font" type="font/woff2" crossorigin="anonymous">
  <script>(()=>{const e=localStorage.getItem("vue-theme-appearance");(!e||e==="auto"?window.matchMedia("(prefers-color-scheme: dark)").matches:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
  <meta name="twitter:site" content="@vuejs">
  <meta name="twitter:card" content="summary">
  <meta name="twitter:image" content="https://vuejs.org/images/logo.png">
  <link rel="preconnect" href="https://sponsors.vuejs.org/">
  <script>(()=>{const e=(o,r,c=!1)=>{const s=localStorage.getItem(o);(s?s!=="false":c)&&document.documentElement.classList.add(r)};e("vue-docs-prefer-composition","prefer-composition"),e("vue-docs-prefer-sfc","prefer-sfc",!0),window.__VUE_BANNER_ID__="wip",e(`vue-docs-banner-${__VUE_BANNER_ID__}`,"banner-dismissed")})();</script>
  <script src="static/js/script.js" data-site="XNOLWPLB" data-spa="auto" defer=""></script>
  <meta name="twitter:title" content="Frequently Asked Questions | Vue.js">
  <meta property="og:title" content="Frequently Asked Questions | Vue.js">
  </head>
  <body>
    <div id="app"><div class="VPApp" data-v-204468d7=""><!--[--><span tabindex="-1" data-v-4f742274=""></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-4f742274=""> Skip to content </a><!--]--><!----><!--[--><div class="banner" data-v-7b6b3f89=""> Vue 3 is now the new default version! <a href="vue-3-as-the-new-default.html" target="_blank" data-v-7b6b3f89="">Learn more</a></div><!--]--><header class="VPNav nav-bar stick" data-v-204468d7="" data-v-01dbeacc=""><div class="VPNavBar" data-v-01dbeacc="" data-v-6a126dd3=""><div class="container" data-v-6a126dd3=""><a class="VPNavBarTitle" href="index12.html" data-v-6a126dd3="" data-v-5f26462c=""><svg class="logo" viewbox="0 0 128 128" width="24" height="24" data-v-5f26462c=""><path fill="#42b883" d="M78.8,10L64,35.4L49.2,10H0l64,110l64-110C128,10,78.8,10,78.8,10z" data-v-5f26462c=""></path><path fill="#35495e" d="M78.8,10L64,35.4L49.2,10H25.6L64,76l38.4-66H78.8z" data-v-5f26462c=""></path></svg><span class="text" data-v-5f26462c="">Vue.js</span></a><div class="content" data-v-6a126dd3=""><div class="VPNavBarSearch search" data-v-6a126dd3=""><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewbox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><span class="DocSearch-Button-Key">Meta</span><span class="DocSearch-Button-Key">K</span></span></button></div></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-6a126dd3="" data-v-68faa570=""><span id="main-nav-aria-label" class="visually-hidden" data-v-68faa570="">Main Navigation</span><!--[--><!--[--><div class="vt-flyout VPNavBarMenuGroup" ref_key="elRef" data-v-68faa570="" data-v-b598edbc=""><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">Docs <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href="introduction3.html"><!--[-->Guide<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;"><!--[-->Tutorial<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;"><!--[-->Examples<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="quick-start.html"><!--[-->Quick Start<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;"><!--[-->Style Guide<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->Migration from Vue 2<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="vt-link link VPNavBarMenuLink" href="javascript:;" data-v-68faa570="" data-v-c1ab2038=""><!--[-->API<!--]--><!----></a><!--]--><!--[--><a class="vt-link link VPNavBarMenuLink" href="javascript:;" target="_blank" rel="noopener noreferrer" data-v-68faa570="" data-v-c1ab2038=""><!--[-->Playground<!--]--><!----></a><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup" ref_key="elRef" data-v-68faa570="" data-v-b598edbc=""><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">Ecosystem <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><div class="vt-menu-group"><p class="vt-menu-group-title">Resources</p><!--[--><!--[--><a class="vt-link link vt-menu-link" href="partners1.html"><!--[-->Partners<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="themes1.html"><!--[-->Themes<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->Jobs<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->T-Shirt Shop<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></div><!--]--><!--[--><div class="vt-menu-group"><p class="vt-menu-group-title">Video Courses</p><!--[--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->Vue Mastery<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->Vue School<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></div><!--]--><!--[--><div class="vt-menu-group"><p class="vt-menu-group-title">Help</p><!--[--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->Discord Chat<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="index25.html" target="_blank" rel="noopener noreferrer"><!--[-->Forum<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->DEV Community<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></div><!--]--><!--[--><div class="vt-menu-group"><p class="vt-menu-group-title">News</p><!--[--><!--[--><a class="vt-link link vt-menu-link" href="index10.html" target="_blank" rel="noopener noreferrer"><!--[-->Blog<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->Twitter<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="index9.html" target="_blank" rel="noopener noreferrer"><!--[-->Newsletter<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->Events<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><div class="vt-flyout VPNavBarMenuGroup active" ref_key="elRef" data-v-68faa570="" data-v-b598edbc=""><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false"><span class="vt-flyout-button-text">About <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-text-icon"><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="vt-flyout-menu"><div class="vt-menu"><div class="vt-menu-items"><!--[--><!--[--><a class="vt-link link vt-menu-link" href=""><!--[-->FAQ<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="team1.html"><!--[-->Team<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="releases.html"><!--[-->Releases<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="community-guide.html"><!--[-->Community Guide<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="coc.html"><!--[-->Code of Conduct<!--]--><!----></a><!--]--><!--[--><a class="vt-link link vt-menu-link" href="javascript:;" target="_blank" rel="noopener noreferrer"><!--[-->The Documentary<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="vt-link-icon"><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--[--><a class="vt-link link VPNavBarMenuLink" href="javascript:;" data-v-68faa570="" data-v-c1ab2038=""><!--[-->Sponsor<!--]--><!----></a><!--]--><!--]--></nav><div class="VPNavBarAppearance appearance" data-v-6a126dd3="" data-v-10e6f5bd=""><button class="vt-switch vt-switch-appearance" type="button" role="switch" aria-label="toggle dark mode" data-v-10e6f5bd=""><span class="vt-switch-check"><span class="vt-switch-icon"><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-sun"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-moon"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="vt-social-links VPNavBarSocialLinks social-links" data-v-6a126dd3="" data-v-3d7800db=""><!--[--><a class="vt-social-link is-small" href="javascript:;" title="languages" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M0 0h24v24H0z" fill="none"></path><path d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " class="css-c4d79v"></path></svg><span class="visually-hidden">languages</span></a><a class="vt-social-link is-small" href="javascript:;" title="github" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg><span class="visually-hidden">github</span></a><a class="vt-social-link is-small" href="javascript:;" title="twitter" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"></path></svg><span class="visually-hidden">twitter</span></a><a class="vt-social-link is-small" href="javascript:;" title="discord" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M20.222 0c1.406 0 2.54 1.137 2.607 2.475V24l-2.677-2.273-1.47-1.338-1.604-1.398.67 2.205H3.71c-1.402 0-2.54-1.065-2.54-2.476V2.48C1.17 1.142 2.31.003 3.715.003h16.5L20.222 0zm-6.118 5.683h-.03l-.202.2c2.073.6 3.076 1.537 3.076 1.537-1.336-.668-2.54-1.002-3.744-1.137-.87-.135-1.74-.064-2.475 0h-.2c-.47 0-1.47.2-2.81.735-.467.203-.735.336-.735.336s1.002-1.002 3.21-1.537l-.135-.135s-1.672-.064-3.477 1.27c0 0-1.805 3.144-1.805 7.02 0 0 1 1.74 3.743 1.806 0 0 .4-.533.805-1.002-1.54-.468-2.14-1.404-2.14-1.404s.134.066.335.2h.06c.03 0 .044.015.06.03v.006c.016.016.03.03.06.03.33.136.66.27.93.4.466.202 1.065.403 1.8.536.93.135 1.996.2 3.21 0 .6-.135 1.2-.267 1.8-.535.39-.2.87-.4 1.397-.737 0 0-.6.936-2.205 1.404.33.466.795 1 .795 1 2.744-.06 3.81-1.8 3.87-1.726 0-3.87-1.815-7.02-1.815-7.02-1.635-1.214-3.165-1.26-3.435-1.26l.056-.02zm.168 4.413c.703 0 1.27.6 1.27 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334.002-.74.573-1.338 1.27-1.338zm-4.543 0c.7 0 1.266.6 1.266 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334 0-.74.57-1.338 1.27-1.338z"></path></svg><span class="visually-hidden">discord</span></a><!--]--></div><div class="vt-flyout VPNavBarExtra extra" ref_key="elRef" data-v-6a126dd3="" data-v-47ed6b06=""><button type="button" class="vt-flyout-button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-flyout-button-icon"><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="vt-flyout-menu"><div class="vt-menu"><!----><!--[--><!--[--><div class="vt-menu-group" data-v-47ed6b06=""><div class="vt-menu-item item" data-v-47ed6b06=""><p class="vt-menu-label" data-v-47ed6b06="">Appearance</p><div class="vt-menu-action action" data-v-47ed6b06=""><button class="vt-switch vt-switch-appearance" type="button" role="switch" aria-label="toggle dark mode" data-v-47ed6b06=""><span class="vt-switch-check"><span class="vt-switch-icon"><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-sun"><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-switch-appearance-moon"><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="vt-menu-group" data-v-47ed6b06=""><div class="vt-menu-item item" data-v-47ed6b06=""><div class="vt-social-links social-links" data-v-47ed6b06=""><!--[--><a class="vt-social-link is-small" href="javascript:;" title="languages" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M0 0h24v24H0z" fill="none"></path><path d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " class="css-c4d79v"></path></svg><span class="visually-hidden">languages</span></a><a class="vt-social-link is-small" href="javascript:;" title="github" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg><span class="visually-hidden">github</span></a><a class="vt-social-link is-small" href="javascript:;" title="twitter" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"></path></svg><span class="visually-hidden">twitter</span></a><a class="vt-social-link is-small" href="javascript:;" title="discord" target="_blank" rel="noopener noreferrer"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="vt-social-link-icon"><path d="M20.222 0c1.406 0 2.54 1.137 2.607 2.475V24l-2.677-2.273-1.47-1.338-1.604-1.398.67 2.205H3.71c-1.402 0-2.54-1.065-2.54-2.476V2.48C1.17 1.142 2.31.003 3.715.003h16.5L20.222 0zm-6.118 5.683h-.03l-.202.2c2.073.6 3.076 1.537 3.076 1.537-1.336-.668-2.54-1.002-3.744-1.137-.87-.135-1.74-.064-2.475 0h-.2c-.47 0-1.47.2-2.81.735-.467.203-.735.336-.735.336s1.002-1.002 3.21-1.537l-.135-.135s-1.672-.064-3.477 1.27c0 0-1.805 3.144-1.805 7.02 0 0 1 1.74 3.743 1.806 0 0 .4-.533.805-1.002-1.54-.468-2.14-1.404-2.14-1.404s.134.066.335.2h.06c.03 0 .044.015.06.03v.006c.016.016.03.03.06.03.33.136.66.27.93.4.466.202 1.065.403 1.8.536.93.135 1.996.2 3.21 0 .6-.135 1.2-.267 1.8-.535.39-.2.87-.4 1.397-.737 0 0-.6.936-2.205 1.404.33.466.795 1 .795 1 2.744-.06 3.81-1.8 3.87-1.726 0-3.87-1.815-7.02-1.815-7.02-1.635-1.214-3.165-1.26-3.435-1.26l.056-.02zm.168 4.413c.703 0 1.27.6 1.27 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334.002-.74.573-1.338 1.27-1.338zm-4.543 0c.7 0 1.266.6 1.266 1.335 0 .74-.57 1.34-1.27 1.34-.7 0-1.27-.6-1.27-1.334 0-.74.57-1.338 1.27-1.338z"></path></svg><span class="visually-hidden">discord</span></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><button type="button" class="vt-hamburger VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-6a126dd3="" data-v-160e7f70=""><span class="vt-hamburger-container"><span class="vt-hamburger-top"></span><span class="vt-hamburger-middle"></span><span class="vt-hamburger-bottom"></span></span></button></div></div></div><!----></header><!----><!----><div id="VPContent" class="VPContent" data-v-204468d7="" data-v-f56f3cfe=""><div class="VPContentDoc has-aside" data-v-f56f3cfe="" data-v-7d3b0a72=""><div class="container" data-v-7d3b0a72=""><div class="aside" data-v-7d3b0a72=""><div class="aside-container" data-v-7d3b0a72=""><!--[--><!--]--><div class="VPContentDocOutline" ref_key="container" data-v-7d3b0a72="" data-v-a843c894=""><div class="outline-marker" data-v-a843c894=""></div><div class="outline-title" data-v-a843c894="">On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-a843c894=""><span id="doc-outline-aria-label" class="visually-hidden" data-v-a843c894="">Table of Contents for current page</span><ul class="root" data-v-a843c894=""><!--[--><li style="" data-v-a843c894=""><a class="outline-link" href="#who-maintains-vue" data-v-a843c894="">Who maintains Vue?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#what-license-does-vue-use" data-v-a843c894="">What license does Vue use?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#what-browsers-does-vue-support" data-v-a843c894="">What browsers does Vue support?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#is-vue-reliable" data-v-a843c894="">Is Vue reliable?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#is-vue-fast" data-v-a843c894="">Is Vue fast?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#is-vue-lightweight" data-v-a843c894="">Is Vue lightweight?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#does-vue-scale" data-v-a843c894="">Does Vue scale?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#how-do-i-contribute-to-vue" data-v-a843c894="">How do I contribute to Vue?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#what-s-the-difference-between-vue-2-and-vue-3" data-v-a843c894="">What&#39;s the difference between Vue 2 and Vue 3?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#should-i-use-options-api-or-composition-api" data-v-a843c894="">Should I use Options API or Composition API?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#should-i-use-javascript-or-typescript-with-vue" data-v-a843c894="">Should I use JavaScript or TypeScript with Vue?</a><!----></li><li style="" data-v-a843c894=""><a class="outline-link" href="#how-does-vue-compare-to-web-components" data-v-a843c894="">How does Vue compare to Web Components?</a><!----></li><!--]--></ul></nav></div><!--[--><!--[--><!--[--><div><a class="sponsors-aside-text" href="javascript:;">Sponsors</a><div ref_key="container" class="sponsor-container special aside" data-v-3793b348=""><!----><!----></div><div ref_key="container" class="sponsor-container platinum aside" data-v-3793b348=""><!----><a href="javascript:;" class="sponsor-item action" data-v-3793b348="">Your logo</a></div></div><!--]--><!--]--><!--]--><div class="VPCarbonAds" ref_key="container" data-v-7d3b0a72=""></div><!--[--><!--[--><!--[--><div ref_key="vuejobs" data-v-148cefec=""><!----></div><!--]--><!--]--><!--]--></div></div><div class="content" data-v-7d3b0a72=""><!--[--><!--]--><main data-v-7d3b0a72=""><div style="position:relative;" class="vt-doc about" data-v-7d3b0a72=""><div><h1 id="frequently-asked-questions" tabindex="-1">Frequently Asked Questions <a class="header-anchor" href="#frequently-asked-questions" aria-hidden="true">#</a></h1><h2 id="who-maintains-vue" tabindex="-1">Who maintains Vue? <a class="header-anchor" href="#who-maintains-vue" aria-hidden="true">#</a></h2><p>Vue is an independent, community-driven project. It was created by <a href="javascript:;" target="_blank" rel="noopener noreferrer">Evan You</a> in 2014 as a personal side project. Today, Vue is actively maintained by <a href="team1.html">a team of both full-time and volunteer members from all around the world</a>, where Evan serves as the project lead. You can learn more about the story of Vue in this <a href="javascript:;" target="_blank" rel="noopener noreferrer">documentary</a>.</p><p>Vue&#39;s development is primarily funded through sponsorships and we have been financially sustainable since 2016. If you or your business benefit from Vue, consider <a href="javascript:;">sponsoring us</a> to support Vue&#39;s development!</p><h2 id="what-license-does-vue-use" tabindex="-1">What license does Vue use? <a class="header-anchor" href="#what-license-does-vue-use" aria-hidden="true">#</a></h2><p>Vue is a free and open source project released under the <a href="javascript:;" target="_blank" rel="noopener noreferrer">MIT License</a>.</p><h2 id="what-browsers-does-vue-support" tabindex="-1">What browsers does Vue support? <a class="header-anchor" href="#what-browsers-does-vue-support" aria-hidden="true">#</a></h2><p>The latest version of Vue (3.x) only supports <a href="javascript:;" target="_blank" rel="noopener noreferrer">browsers with native ES2015 support</a>. This excludes IE11. Vue 3.x uses ES2015 features that cannot be polyfilled in legacy browsers, so if you need to support legacy browsers, you will need to use Vue 2.x instead.</p><h2 id="is-vue-reliable" tabindex="-1">Is Vue reliable? <a class="header-anchor" href="#is-vue-reliable" aria-hidden="true">#</a></h2><p>Vue is a mature and battle-tested framework. It is one of the most widely used JavaScript frameworks in production today, with over 1.5 million users worldwide, and is downloaded close to 10 million times a month on npm.</p><p>Vue is used in production by renowned organizations in varying capacities all around the world, including Wikimedia Foundation, NASA, Apple, Google, Microsoft, GitLab, Zoom, Tencent, Weibo, Bilibili, Kuaishou, and many more.</p><h2 id="is-vue-fast" tabindex="-1">Is Vue fast? <a class="header-anchor" href="#is-vue-fast" aria-hidden="true">#</a></h2><p>Vue 3 is one of the most performant mainstream frontend frameworks, and handles most web application use cases with ease, without the need for manual optimizations.</p><p>In stress-testing scenarios, Vue out-performs React and Angular by a decent margin in the <a href="javascript:;" target="_blank" rel="noopener noreferrer">js-framework-benchmark</a>. It also goes neck-and-neck against some of the fastest production-level non-Virtual-DOM frameworks in the benchmark.</p><p>Do note that synthetic benchmarks like the above focus on raw rendering performance with dedicated optimizations and may not be fully representative of real-world performance results. If you care more about page load performance, here is the <a href="javascript:;" target="_blank" rel="noopener noreferrer">Lighthouse audit</a> generated via <a href="javascript:;" target="_blank" rel="noopener noreferrer">WebPageTest</a> for a real-world, Vue-powered site with SSG pre-rendering, full page hydration and SPA client-side navigation. It scores 98 in performance on an emulated Moto G4 with 4x CPU throttling over 3G networks.</p><p>You can learn more about how Vue automatically optimizes runtime performance in the <a href="javascript:;">Rendering Mechanism</a> section, and how to optimize a Vue app in particularly demanding cases in the <a href="javascript:;">Performance Optimization Guide</a>.</p><h2 id="is-vue-lightweight" tabindex="-1">Is Vue lightweight? <a class="header-anchor" href="#is-vue-lightweight" aria-hidden="true">#</a></h2><p>When you use a build tool, many of Vue&#39;s APIs are <a href="javascript:;" target="_blank" rel="noopener noreferrer">&quot;tree-shakable&quot;</a>. For example, if you don&#39;t use the built-in <code>&lt;Transition&gt;</code> component, it won&#39;t be included in the final production bundle.</p><p>A hello world Vue app that only uses the absolutely minimal APIs has a baseline size of only around <strong>16kb</strong>, with minification and brotli compression. The actual size of the application will depend on how many optional features you use from the framework. In the unlikely case where an app uses every single feature that Vue provides, the total runtime size is around <strong>27kb</strong>.</p><p>When using Vue without a build tool, we not only lose tree-shaking, but also have to ship the template compiler to the browser. This bloats up the size to around <strong>41kb</strong>. Therefore, if you are using Vue primarily for progressive enhancement without a build step, consider using <a href="javascript:;" target="_blank" rel="noopener noreferrer">petite-vue</a> (only <strong>6kb</strong>) instead.</p><p>Some frameworks, such as Svelte, use a compilation strategy that produces extremely lightweight output in single-component scenarios. However, <a href="javascript:;" target="_blank" rel="noopener noreferrer">our research</a> shows that the size difference heavily depends on the number of components in the application. While Vue has a heavier baseline size, it generates less code per component. In real-world scenarios, a Vue app may very well end up being lighter.</p><h2 id="does-vue-scale" tabindex="-1">Does Vue scale? <a class="header-anchor" href="#does-vue-scale" aria-hidden="true">#</a></h2><p>Yes. Despite a common misconception that Vue is only suitable for simple use cases, Vue is perfectly capable of handling large scale applications:</p><ul><li><p><a href="javascript:;">Single-File Components</a> provide a modularized development model that allows different parts of an application to be developed in isolation.</p></li><li><p><a href="javascript:;">Composition API</a> provides first-class TypeScript integration and enables clean patterns for organizing, extracting and reusing complex logic.</p></li><li><p><a href="javascript:;">Comprehensive tooling support</a> ensures a smooth development experience as the application grows.</p></li><li><p>Lower barrier to entry and excellent documentation translate to lower onboarding and training costs for new developers.</p></li></ul><h2 id="how-do-i-contribute-to-vue" tabindex="-1">How do I contribute to Vue? <a class="header-anchor" href="#how-do-i-contribute-to-vue" aria-hidden="true">#</a></h2><p>We appreciate your interest! Please check out our <a href="community-guide.html">Community Guide</a>.</p><h2 id="what-s-the-difference-between-vue-2-and-vue-3" tabindex="-1">What&#39;s the difference between Vue 2 and Vue 3? <a class="header-anchor" href="#what-s-the-difference-between-vue-2-and-vue-3" aria-hidden="true">#</a></h2><p>Vue 3 is the current, latest major version of Vue. It contains new features that are not present in Vue 2 (most notably Composition API), and also contains breaking changes that makes it incompatible with Vue 2. Despite the differences, the majority of Vue APIs are shared between the two major versions, so most of your Vue 2 knowledge will continue to work in Vue 3.</p><p>In general, Vue 3 provides smaller bundle sizes, better performance, better scalability, and better TypeScript / IDE support. If you are starting a new project today, Vue 3 is the recommended choice. There are only a few reasons for you to consider Vue 2 as of now:</p><ul><li><p>You need to support IE11. Vue 3 leverages modern JavaScript features and does not support IE11.</p></li><li><p>You are still waiting for major ecosystem projects like Nuxt or Vuetify to release stable versions for Vue 3. This is reasonable if you do not wish to use beta-stage software. However, do note there are other already stable Vue 3 component libraries such as <a href="javascript:;" target="_blank" rel="noopener noreferrer">Quasar</a>, <a href="javascript:;" target="_blank" rel="noopener noreferrer">Naive UI</a> and <a href="javascript:;" target="_blank" rel="noopener noreferrer">Element Plus</a>.</p></li></ul><p>If you intend to migrate an existing Vue 2 app to Vue 3, consult the dedicated <a href="javascript:;" target="_blank" rel="noopener noreferrer">Vue 3 Migration Guide</a>.</p><p>Vue 2 will receive a final minor release (2.7) in 2022. This minor release will backport a selected subset of new features from Vue 3. After that, Vue 2 will enter maintenance mode: it will no longer ship new features, but will continue to receive critical bug fixes and security updates for another 18 months.</p><h2 id="should-i-use-options-api-or-composition-api" tabindex="-1">Should I use Options API or Composition API? <a class="header-anchor" href="#should-i-use-options-api-or-composition-api" aria-hidden="true">#</a></h2><p>If you are new to Vue, we provide a high-level comparison between the two styles <a href="introduction3.html#which-to-choose">here</a>.</p><p>If you have previously used Options API and are currently evaluating Composition API, check out <a href="javascript:;">this FAQ</a>.</p><h2 id="should-i-use-javascript-or-typescript-with-vue" tabindex="-1">Should I use JavaScript or TypeScript with Vue? <a class="header-anchor" href="#should-i-use-javascript-or-typescript-with-vue" aria-hidden="true">#</a></h2><p>While Vue itself is implemented in TypeScript and provides first-class TypeScript support, it does not enforce an opinion on whether you should use TypeScript as a user.</p><p>TypeScript support is an important consideration when new features are added to Vue. APIs that are designed with TypeScript in mind are typically easier for IDEs and linters to understand, even if you aren&#39;t using TypeScript yourself. Everybody wins. Vue APIs are also designed to work the same way in both JavaScript and TypeScript as much as possible.</p><p>Adopting TypeScript involves a trade-off between onboarding complexity and long-term maintainability gains. Whether such a trade-off can be justified can vary depending on your team&#39;s background and project scale, but Vue isn&#39;t really an influencing factor in making that decision.</p><h2 id="how-does-vue-compare-to-web-components" tabindex="-1">How does Vue compare to Web Components? <a class="header-anchor" href="#how-does-vue-compare-to-web-components" aria-hidden="true">#</a></h2><p>Vue was created before Web Components were natively available, and some aspects of Vue&#39;s design (e.g. slots) were inspired by the Web Components model.</p><p>The Web Components specs are relatively low-level, as they are centered around defining custom elements. As a framework, Vue addresses additional higher-level concerns such as efficient DOM rendering, reactive state management, tooling, client-side routing, and server-side rendering.</p><p>Vue also fully supports consuming or exporting to native custom elements - check out the <a href="javascript:;">Vue and Web Components Guide</a> for more details.</p></div></div><p class="edit-link" data-v-7d3b0a72=""><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewbox="0 0 24 24" stroke="currentColor" class="vt-icon" data-v-7d3b0a72=""><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"></path></svg><a class="vt-link link" href="javascript:;" target="_blank" rel="noopener noreferrer" data-v-7d3b0a72=""><!--[-->Edit this page on GitHub<!--]--><!----></a></p></main><!--[--><!--]--><!----></div></div></div></div><div class="visually-hidden" aria-live="polite" data-v-204468d7="">Frequently Asked Questions has loaded</div></div></div>
    <script>__VP_HASH_MAP__ = JSON.parse("{\"about_coc.md\":\"ec124486\",\"about_community-guide.md\":\"ecd55cd7\",\"about_faq.md\":\"72885423\",\"about_releases.md\":\"cb8e2868\",\"about_team.md\":\"1d08e2ec\",\"api_application.md\":\"5d4f5e30\",\"api_built-in-components.md\":\"084e6f14\",\"api_built-in-directives.md\":\"42070cc6\",\"api_built-in-special-attributes.md\":\"594f5868\",\"api_built-in-special-elements.md\":\"a01aa982\",\"api_component-instance.md\":\"efd278b7\",\"api_composition-api-dependency-injection.md\":\"44bab61d\",\"api_composition-api-lifecycle.md\":\"ef0645d7\",\"api_composition-api-setup.md\":\"397119f6\",\"api_custom-renderer.md\":\"f41bc6d0\",\"api_general.md\":\"835927b3\",\"api_index.md\":\"7cca9005\",\"api_options-composition.md\":\"c30dac4e\",\"api_options-lifecycle.md\":\"d63a3077\",\"api_options-misc.md\":\"4816748d\",\"api_options-rendering.md\":\"9fd1fb2f\",\"api_options-state.md\":\"f0bd627e\",\"api_reactivity-advanced.md\":\"270a2bb7\",\"api_reactivity-core.md\":\"da8e7de7\",\"api_reactivity-utilities.md\":\"b993819a\",\"api_render-function.md\":\"7749bc39\",\"api_sfc-css-features.md\":\"3d2a8d46\",\"api_sfc-script-setup.md\":\"a8a8ad90\",\"api_sfc-spec.md\":\"6fcb6bd7\",\"api_ssr.md\":\"4a47f334\",\"api_utility-types.md\":\"9db9f5be\",\"ecosystem_partners.md\":\"6dc1e8a2\",\"ecosystem_themes.md\":\"98d231c3\",\"ecosystem_video-courses.md\":\"d429bab9\",\"examples_index.md\":\"0bae3c4d\",\"guide_best-practices_accessibility.md\":\"4131dd32\",\"guide_best-practices_performance.md\":\"270f0e39\",\"guide_best-practices_production-deployment.md\":\"39962654\",\"guide_best-practices_security.md\":\"d5f7af17\",\"guide_built-ins_keep-alive.md\":\"598c6bbc\",\"guide_built-ins_suspense.md\":\"a834ce77\",\"guide_built-ins_teleport.md\":\"de433da2\",\"guide_built-ins_transition-group.md\":\"4e15c47e\",\"guide_built-ins_transition.md\":\"e8dcf9a2\",\"guide_components_async.md\":\"0607f4aa\",\"guide_components_attrs.md\":\"8959ac38\",\"guide_components_events.md\":\"85dbe5dd\",\"guide_components_props.md\":\"b7ecc08c\",\"guide_components_provide-inject.md\":\"a0e3bc5c\",\"guide_components_registration.md\":\"9f7e5da3\",\"guide_components_slots.md\":\"42563fde\",\"guide_essentials_application.md\":\"9a5bb921\",\"guide_essentials_class-and-style.md\":\"d0cd6449\",\"guide_essentials_component-basics.md\":\"b6bfed3e\",\"guide_essentials_computed.md\":\"ba7233ad\",\"guide_essentials_conditional.md\":\"da6c3c96\",\"guide_essentials_event-handling.md\":\"0c3008e1\",\"guide_essentials_forms.md\":\"d36122b9\",\"guide_essentials_lifecycle.md\":\"acdc7afe\",\"guide_essentials_list.md\":\"ba9403a8\",\"guide_essentials_reactivity-fundamentals.md\":\"7bbaecfe\",\"guide_essentials_template-refs.md\":\"0d03ff0b\",\"guide_essentials_template-syntax.md\":\"4c8e4d4e\",\"guide_essentials_watchers.md\":\"98aa932c\",\"guide_extras_animation.md\":\"77876636\",\"guide_extras_composition-api-faq.md\":\"fa5638e4\",\"guide_extras_custom-renderer.md\":\"5826a538\",\"guide_extras_reactivity-in-depth.md\":\"a4a19575\",\"guide_extras_reactivity-transform.md\":\"b648ca29\",\"guide_extras_render-function.md\":\"1d0e3e6c\",\"guide_extras_rendering-mechanism.md\":\"cb6fc521\",\"guide_extras_ways-of-using-vue.md\":\"4836a5f1\",\"guide_extras_web-components.md\":\"3f29b689\",\"guide_introduction.md\":\"8d449b0a\",\"guide_quick-start.md\":\"7b2a84a9\",\"guide_reusability_composables.md\":\"3dfa7125\",\"guide_reusability_custom-directives.md\":\"f9797308\",\"guide_reusability_plugins.md\":\"ae1e06eb\",\"guide_scaling-up_routing.md\":\"2eaec42f\",\"guide_scaling-up_sfc.md\":\"99c22966\",\"guide_scaling-up_ssr.md\":\"95786d3c\",\"guide_scaling-up_state-management.md\":\"d02894e9\",\"guide_scaling-up_testing.md\":\"81c551f9\",\"guide_scaling-up_tooling.md\":\"55454d55\",\"guide_typescript_composition-api.md\":\"8768bde3\",\"guide_typescript_options-api.md\":\"bbdb5348\",\"guide_typescript_overview.md\":\"7926b2b2\",\"index.md\":\"c6095b08\",\"sponsor_index.md\":\"9b167316\",\"style-guide_index.md\":\"152edb14\",\"style-guide_rules-essential.md\":\"de5cf114\",\"style-guide_rules-recommended.md\":\"a594646e\",\"style-guide_rules-strongly-recommended.md\":\"c119705a\",\"style-guide_rules-use-with-caution.md\":\"50bd1c99\",\"translations_index.md\":\"69c6ce32\",\"tutorial_index.md\":\"f1deb7e2\"}")</script>
    <script type="module" async="" src="static/js/app.a30aa7c3.js"></script>
    
  </body>
</html>